/*
 * @lc app=leetcode.cn id=20 lang=javascript
 *
 * [20] 有效的括号
 */

// @lc code=start
/**
 * @param {string} s
 * @return {boolean}
 */
var isValid = function(s) {
  if (s.length % 2 !== 0) return false;
  let obj ={
    "(": ")",
    "[": "]",
    "{": "}"
   },
   stack = [],
   num = 0;
  s.split("").forEach(item => {
    if (obj[item]) {
      // item是obj中的值
      stack.unshift(obj[item]);
      num += 1;
    } else {
      // item不是obj中的值 用来依次消除stack数组
      if (stack[0] === item) {
        stack.splice(0, 1);
      };
      num -= 1;
    }
  });
  return stack.length === 0 && num === 0 ? true : false;
};
// @lc code=end

